package com.viking.config;

import feign.Contract;
import feign.Logger;
import feign.Request;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 全局配置：使用@Configuration时，会将配置作用于所有服务提供方
 * 局部配置：不加@Configuration
 *          1、通过配置类，在feign接口声明类(例如:StockFeignService) 追加上 configuration = FeignConfig.class 属性
 *          2、通过配置文件
 */

//@Configuration
public class FeignConfig {

    /**
     * feign 日志输出配置，也可通过配置文件配置
     */
    @Bean
    public Logger.Level feignLoggerLevel(){
        return Logger.Level.FULL;
    }


    /**
     * 修改契约配置，支持Feign原生的注解(为指定服务提供者配置后必须使用)，也可通过配置文件配置
     * 对老版本代码支持，新版本已经升级为使用springMvc注解
     */
//    @Bean
//    public Contract feignContract(){
//        return new Contract.Default();
//    }

    /**
     * 设置超时时间，也可通过配置文件配置
     */
//    @Bean
//    public Request.Options options() {
//        return new Request.Options(5000, 10000);
//    }

}
